home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / StdEnv / StdOverloaded.dcl < prev    next >
Text File  |  1996-12-23  |  2KB  |  43 lines

  1. definition module StdOverloaded
  2.  
  3. // ****************************************************************************************
  4. //    Concurrent Clean Standard Library Module Version 1.1
  5. //    Copyright 1995 University of Nijmegen
  6. // ****************************************************************************************
  7.  
  8. class (+)  infixl 6    a    :: !a    !a    ->    a                //    Add arg1 to arg2
  9. class (-)  infixl 6    a    :: !a    !a    ->    a                 //    Subtract arg2 from arg1
  10. class zero             a    :: a                            //    Zero (unit element for addition)
  11.  
  12. class (*)  infixl 7    a    :: !a    !a    ->    a                //    Multiply arg1 with arg2
  13. class (/)  infix  7    a    :: !a    !a    ->    a                //    Divide arg1 by arg2
  14. class one             a    :: a                            //    One (unit element for multiplication)
  15.  
  16. class (^)  infixr 8    a    :: !a    !a     ->    a                //    arg1 to the power of arg2
  17. class abs              a    :: !a        ->    a                //    Absolute value
  18. class sign             a    :: !a         ->    Int                //    1 (pos value) -1 (neg value) 0 (if zero)
  19. class ~                a    :: !a         ->    a                //    -a1
  20.  
  21. class (==) infix  4    a    :: !a    !a    ->    Bool            //    True if arg1 is equal to arg2
  22.  
  23. class (<)  infix  4    a    :: !a    !a    ->    Bool             //    True if arg1 is less than arg2
  24.  
  25. class toInt            a    :: !a        ->    Int                //    Convert into Int
  26. class toChar        a    :: !a        ->    Char            //    Convert into Char
  27. class toBool        a    :: !a        ->    Bool            //    Convert into Bool
  28. class toReal        a    :: !a        ->    Real            //    Convert into Real
  29. class toString        a    :: !a        ->    {#Char}            //    Convert into String
  30.  
  31. class fromInt        a    :: !Int            -> a            //    Convert from Int
  32. class fromChar        a    :: !Char        -> a            //    Convert from Char
  33. class fromBool        a    :: !Bool        -> a            //    Convert from Bool
  34. class fromReal        a    :: !Real        -> a            //    Convert from Real
  35. class fromString    a    :: !{#Char}        -> a            //    Convert from String
  36.  
  37. class  length                m    :: !(m a) -> Int            //    Number of elements in arg
  38.                                                         //        used for list like structures (linear time)
  39.  
  40. class  (%)  infixl 9    a    :: !a !(!Int,!Int)    -> a        //    Slice a part from arg1
  41.  
  42. class (+++) infixr 5    a     :: !a    !a            -> a        //    Append args
  43.